const app = getApp();
/**
 * 发送请求的函数
 * @param {*} url 请求地址
 * @param {*} data 请求参数
 * @param {*} method 请求方式
 */
export default function request(url, data = {}, method = 'GET') {
  return new Promise((resolve, reject) => {
    wx.request({
      url: 'http://localhost:3000' + url,
      data,
      method,
      header: {
        cookie: app.globalData.cookie
      },
      success(res) {
        // 首先判断响应状态码
        if (res.statusCode >= 200 && res.statusCode < 300) {
          // 200 - 299 都算成功：请求成功
          if (res.data.code === 200) {
            // 功能成功
            // 将promise对象改成成功状态，包含成功的数据
            resolve(res.data);
          } else {
            // 功能失败
            wx.showToast({
              title: '功能失败',
              icon: 'error'
            })
             // 将promise对象改成失败状态，包含失败的原因
            reject('功能失败')
          }
        } else {
          // 失败：404 500：请求失败
          wx.showToast({
            title: res.data.message,
            icon: 'none'
          })
          // 将promise对象改成失败状态，包含失败的原因
          reject(res.data.message)
        }
      },
      fail() {
        // 网络超时，未连接网络
        wx.showToast({
          title: '网络超时或未连接网络',
          icon: 'error'
        })
        // 将promise对象改成失败状态，包含失败的原因
        reject('网络超时或未连接网络')
      }
    })
  })
}